.ProductItem {
  flex-shrink: 0;
  display: flex;
  position: relative;

  width: 100%;
  padding: 0 24px 32px;
  box-sizing: border-box;
  overflow: hidden;

  &:global(.disabled) {
    .cover {
      display: block;

      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      background: rgba(255, 255, 255, 0.6);
    }
  }

  :global {
    .cover {
      display: none;
    }

    .select {
      display: flex;
      flex-shrink: 0;
      width: 34px;
      height: 34px;

      margin-top: 76px;

      position: relative;

      &::before {
        content: "";
        position: absolute;
        top: -70px;
        bottom: -70px;

        right: -40px;
        left: -24px;
      }

      .icon,
      img {
        width: 30px;
        height: 30px;
      }
    }

    .product-detail {
      display: flex;
      flex-direction: column;
      width: 100%;

      .title {
        height: 80px;
        font-size: 28px;
        font-weight: 400;
        color: #333333;
        line-height: 40px;
      }

      .product-options {
        display: flex;

        .option {
          margin-top: 8px;
          height: 38px;
          background: #f0f1f2;
          border-radius: 32px;

          width: auto;

          display: flex;
          align-items: center;
          justify-content: center;

          .txt {
            padding: 0 16px;
            height: 34px;
            font-size: 20px;
            font-weight: 400;
            color: #4B5563;
            line-height: 34px;
          }
        }
      }

      .delivery-list {
        display: flex;
        margin-top: 8px;

        .delivery {
          display: flex;
          justify-content: center;
          align-items: center;

          height: 26px;
          border-radius: 2px;

          margin-right: 8px;

          &:last-of-type {
            margin-right: 0;
          }

          &.takeout {
            background: #a7b6db;
          }

          &.post {
            background: #a7dbd3;
          }

          &.pickup {
            background: #dba7c8;
          }

          .txt {
            padding: 0 8px;

            height: 22px;
            font-size: 20px;
            font-weight: 400;
            color: #ffffff;
            line-height: 22px;
          }
        }
      }

      .price-line {
        display: flex;
        justify-content: space-between;
        align-items: center;

        margin-top: 10px;

        .price {
          display: flex;
          align-items: baseline;
          color: #303133;
          .unit {
            height: 34px;
            font-size: 20px;
            font-weight: 500;
            line-height: 34px;
          }

          .origin-price {
            height: 56px;
            font-size: 30px;
            font-weight: 500;
            line-height: 56px;

            margin-left: 4px;
          }
        }

        .action {
          width: 166px;
          height: 48px;
        }
      }

      .forecast-price {
        height: 34px;
        font-size: 24px;
        font-weight: 400;
        text-align: center;
        line-height: 34px;

        width: fit-content;
      }
    }
  }
}
